package com.gitee.wsl.collections.map

import androidx.collection.FloatIntMap
import androidx.collection.MutableFloatIntMap


/**
 * Returns an empty, read-only [FloatIntMap].
 */
fun  Maps.emptyFloatIntMap(): FloatIntMap = androidx.collection.emptyFloatIntMap()

/**
 * Returns a new [MutableFloatIntMap].
 */
fun  Maps.floatIntMapOf(): FloatIntMap = androidx.collection.floatIntMapOf()

/**
 * Returns a new [FloatIntMap] with [key1] associated with [value1].
 */
fun  Maps.floatIntMapOf(
    key1: Float,
    value1: Int
): FloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
}

/**
 * Returns a new [FloatIntMap] with [key1], and [key2]
 * associated with [value1], and [value2], respectively.
 */
fun  Maps.floatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
): FloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
}

/**
 * Returns a new [FloatIntMap] with [key1], [key2], and [key3]
 * associated with [value1], [value2], and [value3], respectively.
 */
fun  Maps.floatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
    key3: Float,
    value3: Int,
): FloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
    map[key3] = value3
}

/**
 * Returns a new [FloatIntMap] with [key1], [key2], [key3], and [key4]
 * associated with [value1], [value2], [value3], and [value4], respectively.
 */
fun  Maps.floatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
    key3: Float,
    value3: Int,
    key4: Float,
    value4: Int,
): FloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
    map[key3] = value3
    map[key4] = value4
}

/**
 * Returns a new [FloatIntMap] with [key1], [key2], [key3], [key4], and [key5]
 * associated with [value1], [value2], [value3], [value4], and [value5], respectively.
 */
fun  Maps.floatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
    key3: Float,
    value3: Int,
    key4: Float,
    value4: Int,
    key5: Float,
    value5: Int,
): FloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
    map[key3] = value3
    map[key4] = value4
    map[key5] = value5
}

/**
 * Returns a new [MutableFloatIntMap].
 */
fun  Maps.mutableFloatIntMapOf(): MutableFloatIntMap = MutableFloatIntMap()

/**
 * Returns a new [MutableFloatIntMap] with [key1] associated with [value1].
 */
fun  Maps.mutableFloatIntMapOf(
    key1: Float,
    value1: Int
): MutableFloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
}

/**
 * Returns a new [MutableFloatIntMap] with [key1], and [key2]
 * associated with [value1], and [value2], respectively.
 */
fun  Maps.mutableFloatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
): MutableFloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
}

/**
 * Returns a new [MutableFloatIntMap] with [key1], [key2], and [key3]
 * associated with [value1], [value2], and [value3], respectively.
 */
fun  Maps.mutableFloatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
    key3: Float,
    value3: Int,
): MutableFloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
    map[key3] = value3
}

/**
 * Returns a new [MutableFloatIntMap] with [key1], [key2], [key3], and [key4]
 * associated with [value1], [value2], [value3], and [value4], respectively.
 */
fun  Maps.mutableFloatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
    key3: Float,
    value3: Int,
    key4: Float,
    value4: Int,
): MutableFloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
    map[key3] = value3
    map[key4] = value4
}

/**
 * Returns a new [MutableFloatIntMap] with [key1], [key2], [key3], [key4], and [key5]
 * associated with [value1], [value2], [value3], [value4], and [value5], respectively.
 */
fun  Maps.mutableFloatIntMapOf(
    key1: Float,
    value1: Int,
    key2: Float,
    value2: Int,
    key3: Float,
    value3: Int,
    key4: Float,
    value4: Int,
    key5: Float,
    value5: Int,
): MutableFloatIntMap = MutableFloatIntMap().also { map ->
    map[key1] = value1
    map[key2] = value2
    map[key3] = value3
    map[key4] = value4
    map[key5] = value5
}
